package br.com.estevam.sisfin.pages;

import java.util.Date;

import org.apache.tapestry5.annotations.IncludeStylesheet;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.SessionState;
import org.apache.tapestry5.ioc.annotations.Inject;

import br.com.estevam.sisfin.daos.interfaces.UsuarioDAO;
import br.com.estevam.sisfin.data.Visit;
import br.com.estevam.sisfin.entities.Usuario;
import br.com.estevam.sisfin.tools.Encrypt;

@IncludeStylesheet({"context:layout/pagesIndex.css","context:layout/layout.css"})
public class Index {

	@SessionState
	private Visit visit;

	private Usuario usuario;

	@Persist("flash")
	private String msg;

	@Inject
	private UsuarioDAO UsuarioDAO;

	Object onSuccess(){
		Usuario u = UsuarioDAO.findUsuarioByLogin(usuario.getLogin());
		if(u != null){
			if(u.isStatus()){
				if(Encrypt.encryptMD5(usuario.getPassword()).equalsIgnoreCase(u.getPassword())){
					visit.setId(u.getId());
					visit.setLogin(u.getLogin());
					visit.setLogged(true);

					return Portal.class;
				} else {
					msg = "A sua senha está incorreto, tenta novamente!!!";	
				}
			} else {
				msg = "O seu usuario está desativando!!!";
			}
		} else {
			msg = "O seu usuario não está cadastrando!!!";	
		}

		return null;
	}

	public Date getCurrentTime() { 
		return new Date(); 
	}

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public Visit getVisit() {
		return visit;
	}

	public void setVisit(Visit visit) {
		this.visit = visit;
	}

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}
}
